﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Biblioteca.DataBase;
using Biblioteca.Objetos;
using Biblioteca.Utils;
using Pms.Utils;
using SERIX.Util;
using System.Data.Common;
using SERIX.UTIL;

namespace SERIX
{
    public partial class AlterarSenha : System.Web.UI.Page
    {
        Usuario usuAut;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                txtSenhaAtual.Text = "";
                txtNovaSenha.Text = "";
                txtConfirmarNovaSenha.Text = "";
            }
            if (Session.Count == 0)
            {
                Response.Redirect("~/Login.aspx");
            }
            else
            {
                usuAut = (Usuario)Session["usuario"];

                //Verifica permissao sobre a interface, caso nao tenha, retorna  pagina de Inicio
                lblErro.Visible = false;

            }
        }

        protected void btn_Ok_Click(object sender, EventArgs e)
        {
            try
            {
                if (!Usu.VerificarSenha(usuAut.Codigo, usuAut.Login, Criptografia.HashMD5(txtSenhaAtual.Text)))
                {
                    throw new Exception("Senha Atual Inválida");
                }

                if (txtNovaSenha.Text.Length != 0 && txtNovaSenha.Text.Length < 6)
                {
                    throw new Exception("A nova senha deve conter no minímo 6 caracteres");
                }

                if (!txtNovaSenha.Text.Equals(txtConfirmarNovaSenha.Text))
                {
                    throw new Exception("Senhas digitadas diferentes");
                }


                Usu objUsuario = new Usu();

                objUsuario.Cod_usu = usuAut.Codigo;
                objUsuario.Senha = Criptografia.HashMD5(txtNovaSenha.Text);
                objUsuario.AlterarSenha(usuAut.Login);

                Response.Redirect("ConfirmacaoSenha.aspx");

            }
            catch (Exception ex)
            {
                lblErro.Text = "*Erro: " + ex.Message;
                lblErro.Visible = true;
            }
        }

        protected void btn_Cancelar_Click(object sender, EventArgs e)
        {
            try
            {
                Response.Redirect("Logged.aspx");
            }
            catch (Exception ex)
            {

                lblErro.Text = "*Erro: " + ex.Message;
                lblErro.Visible = true;
            }
        }
    }
}
